package org.luxor.commons.security.utils;

import org.luxor.commons.core.utils.Base64Utils;

/**
 * @author yanxinming
 */
public class TokenUtils {

    /**
     * accessToken 有效时长12小时(单位：秒)
     */
    public static final Integer ACCESS_TOKEN_VALIDITY_SECONDS = 12 * 60 * 60;

    /**
     * refreshToken 有效时长30天(单位：秒)
     */
    public static final Integer REFRESH_TOKEN_VALIDITY_SECONDS = 30 * 24 * 60 * 60;


    /**
     * 生成验证Token
     *
     * @param username 用户唯一登陆账号
     * @return
     */
    public static String toToken(String username) {
        return Base64Utils.encode(username);
    }

    /**
     * 解析验证Token
     *
     * @param token 验证Token
     * @return 用户唯一登陆账号
     */
    public static Long toUserName(String token) {
        String userId = Base64Utils.decode(token).trim();
        return Long.valueOf(userId);
    }

}
